
/**导入express框架 */
const express = require('express')
const app = express()

/**添加变量 变量名  变量值 使用app.get('变量名') 获取变量*/
app.set('secret', '654564asdsa')

/**跨域和json中间件 */
app.use(require('cors')());//跨域
app.use(express.json());//使用json
app.use('/uploads', express.static(__dirname + '/uploads'))
/**连接数据库 */
require('./plugins/db')(app);


/**路由模块化 和路由挂载也在里面 不需要验证的写在验证的前面*/

/**路由都要验证的中间件 判断是否登录可以写在这里 可以和连接数据库一样把app传进去*/
app.use((req, res, next) => {
  console.log(123);
})

/**路由模块化 和路由挂载也在里面*/
require('./routes/admin/index')(app);

/**发生请求错误处理函数中间件抛出状态码，写在路由模块化后面 可以和连接数据库一样把app传进去*/
app.use((err, req, res, next) => {
  res.status(err.statusCode).send({
    message: err.message
  })
})

/**启动3000端口，启动会回调 */
app.listen(3000, () => {
  console.log("http://localhost:3000");
})
